/*
 * To change this template, choose Tools | Templates
 * and open the template in the editor.
 */

package threads;
import java.util.*;
/**
 *
 * @author Bertil
 */
public class SimpleQueue {
    private List<Object> l = new Vector<Object>();

    public int size(){
        return l.size();
    }

    public synchronized void put(Object obj){ // synkroniserad metod för att lägga till ny data i vår kö
        l.add(obj);
        notify();
    }

    public synchronized Object take(){ // synkroniserad metod för att ta bort objekt ur vår kö
        while(l.isEmpty()){
            try{
                wait();
            }
            catch(InterruptedException e){
                return null;
            }
        }
        Object obj = l.get(0);
        l.remove(0);
        return obj;
    }

}
